//
//  MGBaseManager.h
//  MGKit
//
//  Created by megvii on 15/12/16.
//  Copyright © 2015Year megvii. All rights reserved.
//

#import <UIKit/UIKit.h>

extern NSString *TZ_AUTHORIZED_LASTTIME_STRING;
extern NSInteger TZ_AUTHORIZED_DURATION;

@protocol  LicenceManagerDelegate <NSObject>

@required
- (void)licenceMangerDelegateFetchLicense:(NSDictionary*)userInfo;
- (BOOL)isLicensevalidated;

@end

/**
 *  SDK 使用管理，包括授权信息
 */
@interface MGLicenseManager : NSObject

/**
 授权认证是否有效。

 @param delegate 实现interface的具体类。
 @return 已经进行过有效的认证，返回true；没有进行过有效认证或则认证已经超时，返回false。没有传delegate默认返回false。
 */
+ (BOOL)isAuthorizeValidWithDelegate:(id<LicenceManagerDelegate>)delegate;

@end

@interface MGLicenseManager ()


/**
 认证方法。

 @param key 公司的key，每个公司会有唯一的key。
 @param handler result： 标识认证的结果，成功true，失败false。error：result为false返回error，反正返回nil。
 */
+ (void)licenseWithClientID:(NSString*)clientID
               clientSecret:(NSString*)clientSecret
                   delegate:(id<LicenceManagerDelegate>)delegate
                    handler:(void(^)(BOOL result, NSError *error))handler;

@end
